using System.Collections.Generic;
using System.Windows;
using System.Windows.Markup;
using Common;

namespace MainView.Windows
{
	public partial class MultiSortWindow : Window, IComponentConnector
	{
		public static readonly DependencyProperty HeaderListProperty = DependencyProperty.Register("HeaderList", typeof(List<KeyValuePair>), typeof(MultiSortWindow), new UIPropertyMetadata(null));

		public static readonly DependencyProperty FirstSortKeyProperty = DependencyProperty.Register("FirstSortKey", typeof(string), typeof(MultiSortWindow), new UIPropertyMetadata(null));

		public static readonly DependencyProperty FirstSortIsAscendingProperty = DependencyProperty.Register("FirstSortIsAscending", typeof(bool), typeof(MultiSortWindow), new UIPropertyMetadata(true));

		public static readonly DependencyProperty SecondSortKeyProperty = DependencyProperty.Register("SecondSortKey", typeof(string), typeof(MultiSortWindow), new UIPropertyMetadata(null));

		public static readonly DependencyProperty SecondSortIsAscendingProperty = DependencyProperty.Register("SecondSortIsAscending", typeof(bool), typeof(MultiSortWindow), new UIPropertyMetadata(true));

		public static readonly DependencyProperty ThirdSortKeyProperty = DependencyProperty.Register("ThirdSortKey", typeof(string), typeof(MultiSortWindow), new UIPropertyMetadata(null));

		public static readonly DependencyProperty ThirdSortIsAscendingProperty = DependencyProperty.Register("ThirdSortIsAscending", typeof(bool), typeof(MultiSortWindow), new UIPropertyMetadata(true));

		public List<KeyValuePair> HeaderList
		{
			get
			{
				return (List<KeyValuePair>)GetValue(HeaderListProperty);
			}
			set
			{
				SetValue(HeaderListProperty, value);
			}
		}

		public string FirstSortKey
		{
			get
			{
				return (string)GetValue(FirstSortKeyProperty);
			}
			set
			{
				SetValue(FirstSortKeyProperty, value);
			}
		}

		public bool FirstSortIsAscending
		{
			get
			{
				return (bool)GetValue(FirstSortIsAscendingProperty);
			}
			set
			{
				SetValue(FirstSortIsAscendingProperty, value);
			}
		}

		public string SecondSortKey
		{
			get
			{
				return (string)GetValue(SecondSortKeyProperty);
			}
			set
			{
				SetValue(SecondSortKeyProperty, value);
			}
		}

		public bool SecondSortIsAscending
		{
			get
			{
				return (bool)GetValue(SecondSortIsAscendingProperty);
			}
			set
			{
				SetValue(SecondSortIsAscendingProperty, value);
			}
		}

		public string ThirdSortKey
		{
			get
			{
				return (string)GetValue(ThirdSortKeyProperty);
			}
			set
			{
				SetValue(ThirdSortKeyProperty, value);
			}
		}

		public bool ThirdSortIsAscending
		{
			get
			{
				return (bool)GetValue(ThirdSortIsAscendingProperty);
			}
			set
			{
				SetValue(ThirdSortIsAscendingProperty, value);
			}
		}

		public MultiSortWindow()
		{
			InitializeComponent();
		}

		private void buttonOK_Click(object sender, RoutedEventArgs e)
		{
			base.DialogResult = true;
		}

		private void buttonCancel_Click(object sender, RoutedEventArgs e)
		{
		}
	}
}
